Programs Transactions
Transactions can be configured to perform specific actions that are associated to a program when the transaction is processed as an activity in OIPA. Since transactions can be independent or associated to a program, OIPAneeds a way to determine if a transaction is a program transaction or a non-program transaction.
Transaction math has a system provided flag available to indicate if a transaction belongs to a program. Use Activity:ISPROGRAM with a value of "True" or "False" to identify a program transaction. An example of this configuration is provided below:
<MathVariable VARIABLENAME="IsProgram" TYPE="EXPRESSION" DATATYPE="TEXT">Activity:ISPROGRAM</MathVariable>
<MathIF IF="IsProgram='false'">
<MathVariable VARIABLENAME="NotProgram" TYPE="VALUE" DATATYPE="TEXT">True</MathVariable>
</MathIF>
<MathIF IF="IsProgram='true'">
<MathVariable VARIABLENAME="NotProgram" TYPE="VALUE" DATATYPE="TEXT">False</MathVariable>
</MathIF>
Screen math has ISPROGRAM available as an auxiliary field. The prefix Program: is availble to transaction math, screen math and Post Assignment Validate Expressions.
Configuration Considerations
- Program activities must be added to the EligibleTransactionsByPolicyStatus rule. This rule controls when an activity is available based on policy status, preventing program activities from processing on terminated contracts.
- One program activity cannot shadow an activity from a different program.
- A non-program activity cannot shadow any pending program activity.
- The effective date of a program activity is always disabled
- OIPA will not automatically process activities created by actions on the Program screen. Those activities will have to be manually processed or processed by the cycle.
Important: As a best practice, transaction types of NonReversible/NonReversing and Reversible/NonReversing should not be assigned to program transactions.